Here is a list of manual tests you can check when making changes to the Perspectives browser extension. If any of these are easily automatable feel free to add cases for them in test.html instead.


Remember: the Perspectives client extension supports multiple browsers. Remember to test it in:

- Firefox
- SeaMonkey

Also check the localizations!


UI
--
- Each of the Perspectives dialog windows can be opened:
	- 'View Notary Results'
	- 'Report Attack'
	- 'Add to Whitelist'
	- 'Preferences'
	- 'View Certificate Store'
	- 'Help'

- Each winow closes without saving changes if the user clicks on the Cancel button
- Each winow closes without saving changes if the user presses the Esc key
- Each window is centered on the screen (except 'View Certificate Store')
- Each window displays the Perspectives icon if the user presses alt-tab to change windows
	- Except 'View Certificate Store', which displays the Firefox icon


'Report Attack' tests:
  Should NOT let you send a report for:
    - HTTP website
    - HTTPS website, before Perspectives has finished querying
    - Invalid URL, such as 'aaa' or blank
    - file:// URL

  *Should* let you send a report for:
    - HTTPS website, after Perspectives has finished querying


'Add To Whitelist' tests:
- Try the same page types as above; all non-https pages should be rejected as invalid URLs


'Always ask before contacting Notaries':
	- When installing for the first time, does this default to off?
	- When off, does the client always contact notaries?
		- Regardless of whether the 'Display a reminder' subcheckbox is checked?
		- Is the sub checkbox disabled?
	- When on, does the client *not* contact notaries?
		- Is a reminder notification box displayed (if that preference is set)?
			- Is the reminder on by default?
			- Do all of the buttons on the notification box work?
			- Does clicking the 'Hide these messages' button turn off further notifications?
		- Can the normal 'Force Notary Check' option be used even if the reminder box is shown?
	- Does the 'Display a reminder' subcheckbox enable and disable on the Preferences screen when the main checkbox is checked and unchecked?
	- Are preferences remembered?


Preferences:
- Quorum Percentage must be <= 100
- Quorum Percentage must be >= 1
- Quorum Duration must be >= 0
- Both Quorum Percentage and Duration must be integers


Queries
---------
- If we get at least one response and one timeout, we should only send requeries to notaries that have not given a response yet.
(enable the 'query' debug flags to see this easily)



Toolbar Button
--------------
- If the profile/user has never had Perspectives installed before, installing it adds a toolbar button left of the location bar on restart
- After installing, the toolbar button is movable
- If the profile/user uninstalls and then reinstalls Perspectives, it remembers their toolbar button location
- If the profile/user upgrades Perspectives without uninstalling, it remembers their toolbar button location
x If the profile/user changes their Toolbar to show Text or Icons and Text, the toolbar changes appropriately (FIXME - doesn't currently display text; 
	https://github.com/danwent/Perspectives/issues/44 )


Invalid Certificates
--------------------
- One easy way to test against 'invalid certificates' is to set your clock back before a certificate was issued. This can also generate a SecurityChange event.
